home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 23
/
Amiga Format AFCD23 (Feb 1998, Issue 107).iso
/
-screenplay-
/
utilities
/
kq3-fix
/
kq3-fix.doc
next >
Wrap
Text File
|
1997-12-12
|
10KB
|
227 lines
K I N G ' S Q U E S T 3 F I X
""""""""""""""""""""""""""""""""
Included fixes
A patch to remove protection and fix the closing screen problem on OS2+.
A better looking(?) mouse pointer for the game.
Information about changing the game palette.
Introduction
In their very first Amiga adventures made during the years 1986 and 1987
Sierra used a somewhat nasty copy protection method. The game disk looked
like a standard AmigaDos disk, but on it there was one file (whose name
simply consisted of 8 spaces) with a deliberate read/write error. One
couldn't execute the game unless the broken file was available. Although
this was no problem when playing from the original disk, the unlucky user
of more recent days will not be able to install the game on hard disk at
all.
But the fix is here. This patch will modify the game executable and remove
all references to the protected file thus allowing the user to copy all
game files wherever he or she wants to. Two versions of King's Quest 3 are
supported, one from the year 1986 and another from the year 1987. Also the
irritating problem that the game is not able to close its screen upon
quiting when using OS 2.04 or newer is corrected.
Note that Sierra recompiled their old titles in 1989. These versions
should work and install nicely without any patches.
Note also that this fix is only for the original King's Quest 3. If you
have problems with other old (original) Sierra games, you can always write
to me at <timok@cs.tut.fi>.
Which version of the game I do have?
There does exist at least three Amiga versions of the King's Quest 3. No
matter which version is in use, the game itself looks like just the same.
The only differences are in the internal structures of the game executable.
The first version is from the year 1986, and the disk has a gloomy
looking white label with blue texts on it. The name of the disk is « KQ3:»
(a space as the first character) and the length of the main executable
(file named «Sierra») is 86280 bytes. Installation of this version on hard
disk requires the included patch.
Second version from the year 1987 has a brown label with a color photo
of the Sierra mountain on it. The name of the disk is «KQ3:» and the length
of the main executable (file named «Sierra») is 86432 bytes. Installation
of this version on hard disk requires the included patch as well.
Third version that was compiled in 1989 and does not need any patches to be
installed. The on-disk copy protection does no longer exist and the closing
screen problem is gone. The length of the main executable (file apparently
named «KQ3») is 135016 bytes.
How to proceed
As you may have already noticed, I haven't included a standard Amiga
Installer script or actually any installation scripts at all. This is
because it would be too easy to destroy your original game disk with
incorrect use of a ready-to-use script (people do not usually read
documents unless they have to, and so they might try this patch on their
original disk). It is also because I'm lazy.
In the following, you have to type in various commands. Do not type
the « and » characters around commands. They are just separating the
commands and some indicated file names from the rest of this text.
In order to install the game the following steps need to be made:
· First, make sure the original disk is write-protected.
· Now, make a copy of the original disk. Don't worry if you tried to run
the game from the duplicated disk - it won't work yet. You can use any
copier you want. The only requirement is that the disk is processed
track-by-track basis. For example, Workbench DiskCopy, XCopy, SuperDuper
or even DMS will do fine.
Actually you could also work with the original disk as well, but this is
strongly discouraged. If something goes wrong during the following steps,
you might cause a permanent damage on your original game disk! By using
the copy of the original disk, all you are able to destroy is just the
copy.
· Put the original disk in a safe place. It is not needed anymore.
· Insert the duplicated disk into any drive. Open a Shell (or CLI) and
change your current directory onto that drive (e.g. by typing «CD DF0:»
if you are using the internal drive DF0:)
· The game executable (file named «Sierra») has a strange set of file
protection flags. They need to be changed first so that file could be
modified. Type «Protect Sierra +rwed» to set the common protection flags.
You can also type «Protect Sierra -hspa» to remove the non-common flags.
· Now you should be aware of the directory where the files coming along
with this document are resided. Let's say they are in a directory called
«RAM:KQ3-fix/». In the likely case they are somewhere else, replace
references to this example directory with their actual location.
If you do have the 1986 version of the game, type in the command:
«RAM:KQ3-fix/SPatch -oSierra -pRAM:KQ3-fix/Sierra1.pch Sierra».
If you do have the 1987 version of the game, type in the command:
«RAM:KQ3-fix/SPatch -oSierra -pRAM:KQ3-fix/Sierra2.pch Sierra».
This will make all necessary modifications to the game executable.
Note that the file is 4 bytes shorter after this operation.
· You can now delete the protected file (the one with the read/write error):
«Delete " "» (there are 8 spaces in the name).
· If you would like to have a nicer-looking mouse pointer image in the game,
try this: «Copy RAM:KQ3-fix/pointer Data/». Otherwise ignore this step.
See the option chapter below for further information on the subject.
· That's it. You can now install the game wherever you want to by just
copying all the files from the disk to your favourite location. Note that
although the game originally won't run unless a volume called « KQ3:»
(1986 version) or «KQ3:» (1987 version) is present, such restriction no
longer exist. Wish you relabel the game disk you are free to do so.
Assuming you have created a directory for the game called «SYS:games/KQ3/»
you can copy the files for example by typing «Copy "" SYS:games/KQ3/ ALL».
Options
There are two things in here: palette and the mouse pointer of the game.
First, let's talk about the pointer. In my opinion the mouse pointer of
the first generation of Sierra adventures looks pretty ugly. The image
of the pointer is stored in a file called «pointer» located in «Data»
subdirectory in respect to the main directory (installed games) or root
directory of the disk (non-installed games). This file is 80 bytes long
and contains the binary representation of the pointer sprite in hexadecimal
format. The user of a hex editor can easily figure out how this file is
organized by testing different patterns in here (the file has nothing extra
in it, just the raw pointer data). The pointer included in this software
archive is something that suits my taste, but nothing more. Feel free to
create even better looking pointer, if you think that my version is an
ugly one too!
Another thing to discuss are the colors used in old Sierra adventures.
Actually, in those versions of the King's Quest 3 that require patching
the colors are quite ok, but in the version released in 1989 they are
not. For instance the skin color is just too reddish. To make things
complete, I'll also describe how colors can be altered. To begin with,
here are the palette informations from various Sierra 16-color adventures.
The color scheme used in 1986 and 1987 versions of King's Quest 3:
000, 00F, 080, 0DB, C00, B7D, 850, BBB,
777, 0BF, 0E0, 0FD, F98, F70, EE0, FFF.
The palette used in 1989 King's Quest 3:
000, 00B, 0B0, 0BB, B00, B0B, C70, BBB,
777, 00F, 0F0, 0FF, F00, F0F, FF0, FFF.
Finally, a palette from more modern Sierra games (this one is taken
from King's Quest 4):
000, 008, 080, 088, 800, 808, 830, 888,
555, 44F, 0F0, 0FF, F44, F0F, FF0, FFF.
All the above information was taken by using the «Palette» tool included
in the good old OS1.3. The program opens up a palette requester on the
frontmost screen, even if this happens to be a screen owned by a Sierra
game. To make that work, you need to have e.g. the icon for Palette
available in the top portion of the Workbench. Now, when the game is
running, pull its screen downwards enough to make the Palette icon
visible. Then double-click the icon to start the Palette program. It
should show up on the game screen. This allows you to play with the
colors and even use the altered palette as long as the game is running.
But the palette information still needs to be saved in the game
executable.
Again, a hex editor comes handy. The file to be edited is the main
executable, the same file that has already been patched. In this point
it might be a good idea to tell how the above information is present in
the file.
All color components are stored as a separate words in successive
locations. For instance the colors of the 1986 and 1987 versions of the
game form the following hexadecimal string (the spaces and commas are
only used to make this readable, in reality they naturally don't exist):
0000 0000 0000, 0000 0000 000F, 0000 0008 0000, 0000 000D 000B,
000C 0000 0000, 000B 0007 000D, 0008 0005 0000, 000B 000B 000B,
0007 0007 0007, 0000 000B 000F, 0000 000E 0000, 0000 000F 000D,
000F 0009 0008, 000F 0007 0000, 000E 000E 0000, 000F 000F 000F.
To change this information, one first needs to find out the exact
position of these bytes. Some byte combinations (especially those
with all zeros) may exist also somewhere else in the file, therefore
it is suggested to search for the palette by using the bytes of light
grey color (000B000B000B) as a search key because such bytes are
unlikely to occur anywhere else.
Disclaimer
You are using this software at your own risk! Under no circumstances will the
author be liable for any direct on indirect damage or data loss resulting
from the use or misuse of these files or the documents.
Using the patch for anything but your personal needs (to spread unprotected
copies of the game, for instance) is illegal and strongly prohibited.
Author
Timo Kaikumaa
Atanväylä 14 C 12
33580 Tampere
FINLAND
E-mail: timok@cs.tut.fi
Home page: http://www.cs.tut.fi/~timok (currently in Finnish only)